With Emphasis

The overall objective of this text is"... to teach the principles of good logic design"; the emphasis tends toward topics with practical application in realistic logic design problems. The book was developed around a graduate course offered at Stanford University. Although most sections start with basics, some treatments evolve to a relatively high level of sophistication, going well beyond a basic introduction to the subject. The text fulfills its objective by discussing logic design in a rigorous manner. Frequent examples illustrate and reinforce the concepts. The writing style is very readable, and the topics are presented in a manner that facilitates learning. Logic Design Principles appears to have some roots in the author's earlier book, Introduction to the Theory of Switching Circuits (McGraw-Hill, 1965). In addition, other books such as the venerable Hill and Petersen text Introduction to Switching Theory and Logical Design (John Wiley & Sons, 1968) come to mind. However, McCluskey's new book has two major strong points that work against the inevitable comparisons: (1) the inclusion of many state-of-the-art topics appropriate to advanced logic design techniques at both the chip (VLSI) and system level, and (2) excellent introductions to the problems of hazards and testability of digital systems. These give pedagogical strength to the overall treatment and thus provide a solid foundation for more detailed studies. Students in particular should appreciate McCluskey's presentation. The first two chapters, "Number Systems and Codes" and "Switching Algebra," provide the standard introductory material in addition to some interesting advanced topics that include N-cubes and their symmetries, Boolean rights, and multivalued logic fundamentals. IEEE Standard Logic Symbols are used throughout the book. These are introduced in Chapter 3, which deals with basic combinational logic and switching algebra. The section "Transient Analysis: Hazards" should be of particular interest to readers of IEEE Design & Test. However, the first three chapters are generally too basic for the experienced designer. The connection between logic design and integrated circuits is made in Chapter 4, which includes the definitions of voltage levels in terms of Boolean variables and introductory discussions of all MOS and bipolar logic families. This material was mandatory for completeness, but the subject of integrated circuits is so immense that only brief summaries could be presented (even in a 64-page chapter). It does provide a reasonable introduction but could probably be skipped without much loss of continuity. Combinational logic is emphasized in the next two chapters. Chapter 5 introduces concepts of symmetric, unate, and threshold functions, in addition to techniques of decomposition. Examples help clarify the material. Chapter 6 ("Combinational Circuit Design") concentrates on techniques for implementing logic networks. Anyone familiar with the author's research will not be surprised to find an extensive discussion based on prime implicants. The material is very well presented, using both theory and numerous map examples. The remaining sections of the chapter cover basic PLA design techniques, hazard-free design, fault models, and test sets. Chapters 7 through 9 deal with sequential logic. Basic latches and flipflops are introduced in Chapter 7, "Sequential Circuits: Fundamental-Mode Analysis." The discussion does not assume any prior exposure to the concepts of feedback. Chapter highlights include a section on clocking and signal racing problems and also one on essential hazard control. Chapter 8 moves into pulse-mode sequential circuits, with most of the discussion focusing on finite-state machines. Multiple-pulseand nonpulsemode circuits are also included. The design of sequential logic circuits is presented in the following chapter. Although the material is logically presented, I found the writing in this chapter a little flat. Much time is spent defining terms and illustrating concepts, but they are not applied to many design examples. "Design for Testability," Chapter 10, is an excellent introduction to the subject. Various testing codes are described to provide a feeling for the problems involved, and all terms are clearly defined. Separate sections are dedicated to scan techniques and built-in self-test. This chapter is especially helpful to the newcomer to testing problems. It starts with basics and works up to a reasonable level of complexity without obscuring the subject matter. A chapter on semicustom and MSI design represents the applied portion of the text. The treatment is basically technology independent and performed at the gate level. Standard TTL examples illustrate some of the concepts from earlier chapters as they apply to realistic devices. Overall, Logic Design Principles is an excellent book which deals with the fundamentals of the subject. It is up to date and clearly written definitely recommended reading for students interested in learning logic design in a rigorous setting. There are no formal prerequisites for understanding the material, except for a BS in computer science or electrical engineering; McCluskey writes with the student in mind. However, since it is a textbook, I am not convinced that a seasoned logic designer would learn much from it.

The overall objective of this text is"... to teach the principles of good logic design"; the emphasis tends toward topics with practical application in realistic logic design problems.The book was developed around a graduate course offered at Stanford University.Although most sections start with basics, some treatments evolve to a relatively high level of sophistication, going well beyond a basic introduction to the subject.
The text fulfills its objective by discussing logic design in a rigorous manner.Frequent examples illustrate and reinforce the concepts.The writing style is very readable, and the topics are presented in a manner that facilitates learning.
Logic Design Principles appears to have some roots in the author's earlier book, Introduction to the Theory of Switching Circuits (McGraw-Hill, 1965).In addition, other books such as the venerable Hill and Petersen text Introduction to Switching Theory and Logical Design (John Wiley & Sons, 1968) come to mind.However, McCluskey's new book has two major strong points that work against the inevitable comparisons: (1) the inclusion of many state-of-the-art topics appropriate to advanced logic design techniques at both the chip (VLSI) and system level, and (2) excellent introductions to the problems of hazards and testability of digital systems.These give pedagogical strength to the overall treatment and thus provide a solid foundation for more detailed studies.Students in particular should appreciate McCluskey's presentation.
The first two chapters, "Number Systems and Codes" and "Switching Algebra," provide the standard introductory material in addition to some interesting advanced topics that include N-cubes and their symmetries, Boolean rights, and multivalued logic fundamentals.IEEE Standard Logic  Symbols are used throughout the book.These are introduced in Chapter 3, which deals with basic combinational logic and switching algebra.The section "Transient Analysis: Hazards" should be of particular interest to readers of IEEE Design & Test.However, the first three chapters are generally too basic for the experienced designer.
The connection between logic design and integrated circuits is made in Chapter 4, which includes the definitions of voltage levels in terms of Boolean variables and introductory discussions of all MOS and bipolar logic families.This material was mandatory for completeness, but the subject of integrated circuits is so immense that only brief summaries could be presented (even in a 64-page chapter).It does provide a reasonable introduction but could probably be skipped without much loss of continuity.
Combinational logic is emphasized in the next two chapters.Chapter 5 introduces concepts of symmetric, unate, and threshold functions, in addition to techniques of decomposition.Examples help clarify the material.Chapter 6 ("Combinational Circuit Design") concentrates on techniques for implementing logic networks.Anyone familiar with the author's research will not be surprised to find an extensive discussion based on prime implicants.The material is very well presented, using both theory and numerous map examples.The remaining sections of the chapter cover basic PLA design techniques, hazard-free design, fault models, and test sets.
Chapters 7 through 9 deal with sequential logic.Basic latches and flip- flops are introduced in Chapter 7, "Sequential Circuits: Fundamental-Mode Analysis."The discussion does not assume any prior exposure to the concepts of feedback.Chapter highlights include a section on clocking and signal racing problems and also one on essential hazard control.Chapter 8 moves into pulse-mode sequential circuits, with most of the discussion focusing on finite-state machines.Multiple-pulse-and nonpulsemode circuits are also included.The design of sequential logic circuits is presented in the following chapter.Although the material is logically presented, I found the writing in this chapter a little flat.Much time is spent defining terms and illustrating concepts, but they are not applied to many design examples.
"Design for Testability," Chapter 10, is an excellent introduction to the subject.Various testing codes are described to provide a feeling for the problems involved, and all terms are clearly defined.Separate sections are dedicated to scan techniques and built-in self-test.This chapter is especially helpful to the newcomer to testing problems.It starts with basics and works up to a reasonable level of complexity without obscuring the subject matter.
A chapter on semicustom and MSI design represents the applied portion of the text.The treatment is basically technology independent and performed at the gate level.Standard TTL examples illustrate some of the concepts from earlier chapters as they apply to realistic devices.
Overall, Logic Design Principles is an excellent book which deals with the fundamentals of the subject.It is up to date and clearly written definitely recommended reading for students interested in learning logic design in a rigorous setting.There are no formal prerequisites for understanding the material, except for a BS in computer science or electrical engineering; McCluskey writes with the student in mind.However, since it is a textbook, I am not convinced that a seasoned logic designer would learn much from it.
John P. Uyemura is an associate professor of electrical engineering at the Georgia Institute of Technology, Atlanta.His main fields of re- search interest and teaching are digital MOS chip design and VLSI, GaAs integrated circuits, and light-wave communication systems and de- tectors.He consults for IBM, AT&T, and several electronics companies and is involved with projects in both the US and Japan.In addition, he is currently authoring a text entitled Funda- mentals ofDigital MOS Integrated Circuits, to be published by Addison-Wesley.
Uyemura received BS, MS, and PhD degrees in electrical engineering and computer science from the University of California, Berkeley, in 1974, 1977, and 1978, respectively.He is a member of Eta Kappa Nu, Sigma Xi, IEEE, and OSA.

Reviewed by Ramesh Narayanaswamy
This book, which should be of interest to CAE engineers, is based on the au- thor's doctoral research and examines three important classes of design automa- tion algorithms.
The board permutation problem, or Bpd, takes a set of boards and a set of net- works and produces a permutation of board ordering that minimizes backplane area.Here, the network is given as a set of boards to be interconnected.Hence, there is some ordering of boards that will mini- mize the number of wires along the back- plane.Fewer wires would obviously mean less area on the backplane.Thus Bpd is not only useful for minimizing backplane area but is also relevant in a general class of placement problems.However, the au- thor does not make the generalization explicit.
Since there are no efficient general solutions for Bpd, the author adopts two strategies of attack.The first is to find so- lutions of fixed density, if such solutions exist; if one does not exist, the algorithms will stop.Density is the maximum num- ber of wires running along the backplane in the gap between two adjacent boards.The algorithms for finding exact solutions of density I and 2 (if such solutions exist) have worst-case runtimes that are linear (O(n)) in n and cubic (O(n3)) in n, respec- tively.The value n is the number of boards.As a comparison, the best known algorithm for finding the shortest paths to each node in a directed graph from a fixed source is O(n2), where n is the number of nodes in the graph.
The second strategy is to apply a vari- ety of heuristics that produce locally opti- mal solutions (perhaps not the optimal so- lution) but have acceptable runtimes.The optimization is for a minimal density.The results when the heuristics are employed have been shown by rigorous analysis to be within m/3 of the optimal solution, that is, optimal-solution m optimal -3 where m is the number of networks.The author uses the rigorous definition off(in) approximation, where allf(n) < m/3.Some readers may find the mathematical rigor overpowering, but in fact such topics require this rigorous treatment.
The most interesting heuristic is heuristic 11, where a two-step algorithm is ap- plied.First, a local optima is obtained whereby moving a board forward in the ordered list of boards does not decrease the density.Next, this permutation is tak- en as the input for a second algorithm, which produces a local optima whereby moving an arbitrary board adjacent to an- other board does not decrease density.A probabilistic function predicts when this second algorithm can make a move or stop.This algorithm is a simulated an- nealing technique (the author uses the term "approximate numerical solution of low-temperature thermal equilibrium").
The runtime of the heuristic depends on the probabilistic function and can be tuned by scaling the function.The worst- case runtime estimates of the heuristic's reaching an acceptable solution cannot be obtained easily.The author reports that this heuristic produced optimal solutions 66 percent of the time when run on 150 different problems.
Although the book clearly offers some valuable techniques, the presentation has some shortcomings.Since the intuition of the heuristics is not discussed at length, the reader cannot understand the trade- offs involved.It is thus necessary to reflect on the Bpd m4iel, a variety of heuristics, and the analytical and empirical results in order to build up general intuitions that can help with problem solving.Some readers may find the mathematical rigor used in some discussions overpowering, but in fact such topics require this rigor- ous treatment.
The book also discusses the single-layer Manhattan wiring problem and presents a cubic algorithm for it.
The presentation of the more interest- ing circuit realization problem, or CR, is much like that of the Bpd.The CR tries to select a set of physical logical elements to realize a logic circuit so as to minimize cost.A variety of heuristics based on sim- ulated annealing and other techniques are presented and analyzed.The basic tech- nique is to first select modules by itera- tively adding modules until the logic cir- cuit requirements are met.Then this solution is input to another heuristic algo- rithm that tries to produce a local optima using the input as a local guess, an ap- proach similar to that taken with heuristic 11 in the section on Bpd.This book will be of great value to CAE software developers with a deep interest in algorithms of this class.
Ramesh Narayanaswamy is a senior development engineer with the Design Automation and Test Systems Group of GenRad, Inc., Mil- pitas, California.He received a BE in electron- ics and communication engineering from the Coimbatore Institute of Technology of the Uni- versity of Madras and an MS in computer sci- ence from Colorado State University.

I 1I
Held in Torin, Italy in July 1985, these pro- ceedings offer 34 papers representing a com- prehensive survey of the research progress in the field of Timed Petri Nets and provide a set of references helpful to investigators approaching this field for the first time.314 pp.